-IDENTIFICATION DIVISION
-PROGRAM-ID MassInTube
-VERSION 20240214
-COMMENT A thin tube rotates at a constant angular velocity perpendicular to gravity
-COMMENT A mass point moves frictionless in this tube. The differential equation gives the position of this mass point.
-COMMENT r''=omega^2*r -g*sin(omega*t+phi0)
-
-ENVIRONMENT DIVISION
-ENGINE Anabrid-THAT
-TIMEBASE 1ms
-REQUIRES COEFFICIENT 8, INTEGRATOR 4, INVERTER 1, MULTIPLIER 2
-
-DATA DIVISION
-OUTPUT OUTPUT.X x
-OUTPUT OUTPUT.Y y
-COEFFICIENT.1 ICw'
-COEFFICIENT.2 ICw
-COEFFICIENT.3 OMEGAC
-COEFFICIENT.4 OMEGAS # same as OMEGAC
-COEFFICIENT.5 G
-COEFFICIENT.6 R0 # r(0)
-COEFFICIENT.7 V0 # r'(0)
-COEFFICIENT.8 OMEGA^2 # = OMEGAC*OMEGAS
-
-PROGRAM DIVISION
-### Generating sin(omega*t+phi0) ###
-+1 -> COEFFICIENT.ICw’ -> icw’
--1 -> COEFFICIENT.ICw -> -icw
-w’’, IC:icw’ -> INTEGRATOR -> -w’=-cos
--w' -> COEFFICIENT.OMEGAC -> -omega*w'
--omega*w', IC:-icw -> INTEGRATOR -> w=sin
-w -> INVERTER -> -w=-sin
--w -> COEFFICIENT.OMEGAS -> -omega^2*w=w’’
-
-### the actual problem ###
--sin -> COEFFICIENT.G -> -g*sin
--1 -> COEFFICIENT.R0 -> -r0
-+1 -> COEFFICIENT.V0 -> v0
-omega^2*r, -g*sin,IC:v0 -> INTEGRATOR -> -r' # input is r''
--r',IC:-r0 -> INTEGRATOR -> r
-r -> COEFFICIENT.OMEGA^2 -> omega^2*r
-
-### Converting r, phi to x,y coordinates for display ###
-r, sin -> MULTIPLIER -> x
-r, -cos -> MULTIPLIER -> y # y-axis shall go down according to gravity, thus negativ input
-
-OPERATION DIVISION
-MODE REPEAT
-OP-TIME 17,5ms